#include "mine.h"

void rhs_eval (double t, Array<double,1> y, Array<double,1> E, Array<double,1>& dydt)
{
    // Declare local array
    Array<double,1> r(N), v(N), rdot(N), vdot(N);
    double Efield; 
    
    UnLoad (y, r, v);
    for (int i = 0; i < N; i++) {
	double dx = L / double (J);
	int j = int (r(i) / dx); 
	double z = r(i) / dx - double(j);
	
	if (j+1 == J)
	    Efield = E(j) * (1.0 - z) + E(0) * z;
	else
	    Efield = E(j) * (1.0 - z) + E(j+1) * z;

	rdot(i) = v(i);
	vdot(i) = -Efield;
    }

    // Load data into dydt
    Load(rdot, vdot, dydt);
}
